Numerous independent networks of regulatory elements, including lncRNA, circRNA and pathway, have been developed to crucial roles in computational system biology. Crosstalks among those networks as a bridge to build and decode heterogeneous networks from multidimensional biological knowledge, aids to highlight regulatory elements. And combinations of regulatory elements (CREs) in the local area of heterogeneous network have been a hot issue due to its crucial role in biological processes. We introduce NetLCP, an R package with command and shiny-based GUI modes, for prioritizing CREs with variant ‘switches’. The latest version of NetLCP can be downloaded in https://github.com/mortyran/NetLCP. Here, we provide the whole example workflow related to cellular senescence.
# Method 1
library(devtools)
devtools::install_github("mortyran/NetLCP")
# Method 2
BiocManager::install('githubinstall')
library(githubinstall)
githubinstall("NetLCP")
cs_url = "C:\\Users\\acer\\Desktop\\NetLCP\\Paper\\Tutorial\\CellularSenescenceData"
cs_data = read.table(cs_url, sep = "\t", header = T)
head(cs_data)
After acquiring the file named “NetLCPData.tar.gz” from https://www.dropbox.com/s/4dqtxecpw79iejx/NetLCPData.tar.gz or http://hainmu-biobigdata.com/NetLCP/NetLCPData.tar.gz, please following steps:
Step1: Get the NetLCP package preset data directory.
NetLCP_file_path = system.file("extdata", package = "NetLCP")
Step2: Copy the downloaded file “NetLCPData.tar.gz” to the directory.
# your_file_path is the file path of "NetLCPData.tar.gz" in your computer.
file.copy(your_file_path, NetLCP_file_path)
Step3: Run dataInitialize() to initialize the data in R.
library(NetLCP)
NetLCP,
More information can be found at https://github.com/rmyhandsome/NetLCP
If you use NetLCP in you publication, please cite this publication:
NetLCP: An R package for prioritizing combinations of regulatory elements in the heterogeneous network with variant ‘switches’ detection
Authors: MingYu Ran (rmyhandsome@163.com)
Maintainer: MingYu Ran.
Please read the tutorial in https://mortyran.github.io/NetLCP/ for data preparation before you use NetLCP.
dataInitialize()
[1] "Data initialization has been finished!"
library(NetLCP)
dataInitialize()
Prioritize the biological elements in heterogenous network by input transcriptome (mRNA/miRNA, but mixed miRNA and mRNA is highly recommended). NetLCP supports miRBase ID for miRNA and Entrez ID for mRNA. The parameter transcriptomeList is the input transcriptome. The prioType represents the biological element type, which currently contains lncRNA, circRNA and pathway(KEGG, Reactome and Wikipathway). empiricalPvalue is alternative for an empirical p.value through random disturbance, default value is FALSE(it could take several hours).
lncRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "lncRNA",
empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(lncRNA_prio)
circRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "circRNA",
empiricalPvalue = FALSE )
head(circRNA_prio)
KEGG_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "KEGG",
empiricalPvalue = FALSE )
head(KEGG_prio)
Reactome_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "Reactome",
empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(Reactome_prio)
Wikipathway_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "Wikipathway",
empiricalPvalue = FALSE )
head(Wikipathway_prio)
Current CREs types in local area of heterogenous network include binary elements CREs and multiple elements CREs. NetLCP will map the experimentally verified interactions between input biological elements to the local area of heterogenous network. NetLCP supports Ensembl ID for lncRNA, miRBase ID for miRNA, Entrez ID for mRNA, KEGG ID, Reactome ID, Wikipathway ID for pathway.
Here we explore the CREs among the top 10 of lncRNA and Reactome prioritization results and example transcriptome in local area.
# Input data preparation
lncRNA_top10 = lncRNA_prio$NodeName[1:10]
Reactome_top10 = Reactome_prio$NodeName[1:10]
local_elements = c(lncRNA_top10, Reactome_top10, cs_data$Trans_ID)
Inspect the binary elements CREs in the local area of heterogenous network. elementList represents the biological elements in the interested local area of heterogenous network. regulationType represents the CREs type in local area including circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway. allRegulation is a logical value. If you set “FALSE”, it will return the CREs in the local area of heterogenous network which only contains biological elements in the input elementList, i.e. local_elements. If you set “TRUE”, it will search the CREs in the whole depository, which means the results can contain other biological elements. In this case, you can regarded as NetLCP as an independent depository to only extract associated regulatory data. “FALSE” (default) is a common setting.
# miRNA-mRNA CREs in local area
bi_local_miRNA_mRNA = binaryRegulation( elementList = local_elements,
regulationType = "miRNA-mRNA",
allRegulation = FALSE )
# miRNA-pathway CREs in local area
bi_local_miRNA_pathway = binaryRegulation( elementList = local_elements,
regulationType = "miRNA-pathway",
allRegulation = FALSE )
Inspect the multiple elements CREs in the local area of heterogenous network.regulationType represents the CREs type in local area including lncRNA-miRNA-mRNA, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway. Other parameters are the same as binaryRegulation function. Here we concentrate on the lncRNA-miRNA-mRNA-pathway CREs in the local area.
multi_local = multieleRegulation( elementList = local_elements,
regulationType = "lncRNA-miRNA-mRNA-pathway",
allRegulation = FALSE )
[1] "Filtering the missing input elements in input network......"
[1] "10934/7012 have been filtered....."
[1] "Now remain 387"
[1] "Multielement regulation extraction begins, please wait while we do something......"
head(multi_local)
You can calculate the degree of biological elements in the local heterogenous network and customize the network visualization of results.
regData is the standard output of binaryRegulation or multieleRegulation functions, filterDegree means filtering the nodes which are less than it. selectNode represents certain or a group of elements you specify. netLayout is the alternative layout of network, “layout_nicely” or “layout_in_circle” (If the network is too large to exhibit, try to use this layout).
# Calculate the degree of biological elements in the local heterogenous network.
regStat( regData = multi_local,
filterDegree = 40,
selectNode = NULL )
# network visualization.
regNetVis( regData = multi_local,
filterDegree = 40,
selectNode = NULL,
netLayout = "layout_nicely" )
# if you want to see the associated CREs of the biological
# element "4193" in local area of heterogeous network.
regNetVis( regData = multi_local,
filterDegree = 40,
selectNode = "4193",
netLayout = "layout_nicely" )
Prioritize the CREs by their eQTLs numbers.
regData is the standard output of binaryRegulation or multieleRegulation functions.
eQTLsData = eQTLsDetection(regData = multi_local)
[1] "Single biological elements eQTLs extracting extracting begins......"
head(eQTLsData)
You can perform statistics on the eQTLs of single elements or CREs and customize the network visualization of results. regData is the standard output of binaryRegulation or multieleRegulation functions, eQTLsData is the standard output of “eQTLsDetection”. regulationType represent the regulation type of regData, which supports circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway. filterDegree means filtering the nodes which are less than it. selectNode represents a group of elements you specify. netLayout is the alternative layout of network, “layout_nicely” or “layout_in_circle” (If the network is too large to exhibit, try to use this layout).
# count the eQTLs of single elements.
eQTLsSingleEleStat( regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 15,
selectNode = NULL )
# count the eQTLs of CREs.
eQTLsRegStat( regData = multi_local,
eQTLsData = eQTLsData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
filterDegree = 15,
selectNode = NULL )
# network visualization.
eQTLsNetVis( regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 30,
selectNode = NULL,
netLayout = "layout_in_circle" )
# Give that you highlight the CRE "ENSG00000251562 - MIMAT0000081 - 4193 - R-HSA-2559580"
# by statistics, you want to concentrate on the eQTLs of the biological elements in this CRE.
eQTLsNetVis(regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 30, # this parameter will be automatically ignored when setting "selectNode"
selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "R-HSA-2559580"),
netLayout = "layout_nicely")
Detect variant ‘switches’ on the binding site in CREs.
regData is the standard output of binaryRegulation or multieleRegulation functions. regulationType represent the regulation type of regData, which supports “miRNA-mRNA”, “miRNA-mRNA-pathway”, “lncRNA-miRNA-mRNA”, “circRNA-miRNA-mRNA”, “lncRNA-miRNA-mRNA-pathway” or “circRNA-miRNA-mRNA-pathway”.
regVarData = regVarDetection(regData = multi_local, regulationType = "lncRNA-miRNA-mRNA-pathway")
[1] "Variants on regulations extracting begins......"
head(regVarData)
“regVarData” is the standard output of regVarDetection function. regulationType is the same as parameter in regVarDetection function. selectNode is always needed and only accept a group of elements in CREs.
# count the variant 'switches' on the binding sites of CREs.
regVarStat(regVar = regVarData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "R-HSA-2559580", "ENSG00000247556"))
# network visualization.
regVarNetVis(regVar = regVarData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "R-HSA-2559580"))
If you have any questions, please contact us without hesitation.
Ming-Yu, Ran
Email: rmyhandsome@163.com